
package edu.upn.evolucion.proventas.datos;

import edu.upn.evolucion.proventas.entidades.Descuento;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;


public class DescuentoDAO {
    private static DescuentoDAO instancia;

    private DescuentoDAO() {
    }
    
    public static DescuentoDAO obtenerInstancia() {
        if (instancia == null) {
            instancia = new DescuentoDAO();
        }
        return instancia;
    }
    
    public int obtenerValorDescuento(String nombreDescuento){
         Connection con = ConnectionManager.getConnection();
         int valorDescuento=0;
        try {
            Statement stmt = con.createStatement();
            ResultSet tabla = stmt.executeQuery("SELECT porcentaje_descuento from descuento where nombre_descuento='"+nombreDescuento+"'");
            while(tabla.next()){
                valorDescuento=tabla.getInt(1);
            }
            stmt.close();
        } catch (Exception e) {
            e.printStackTrace(); 
        } finally {
            try {
                con.close();
            } catch (Exception e) {
            }
        }
        return valorDescuento;
    }
    
    public int obtenerIdDescuento(String nombreDescuento){
         Connection con = ConnectionManager.getConnection();
         int idDescuento=0;
        try {
            Statement stmt = con.createStatement();
            ResultSet tabla = stmt.executeQuery("SELECT id_descuento from descuento where nombre_descuento='"+nombreDescuento+"'");
            while(tabla.next()){
                idDescuento=tabla.getInt(1);
            }
            stmt.close();
        } catch (Exception e) {
            e.printStackTrace(); 
        } finally {
            try {
                con.close();
            } catch (Exception e) {
            }
        }
        return idDescuento;
    }
     public ArrayList<Descuento> listarDescuentos(){
         Connection con = ConnectionManager.getConnection();
        try {
            Statement stmt = con.createStatement();
            ResultSet tabla = stmt.executeQuery("SELECT * FROM descuento ORDER BY nombre_descuento ");
            ArrayList<Descuento> coleccion = new ArrayList<Descuento>();
            while(tabla.next()){
                Descuento objDescuento=new Descuento();
                objDescuento.setId_descuento(tabla.getInt(1));
                objDescuento.setNombre_descuento(tabla.getString(2));
                objDescuento.setProcentaje_descuento(tabla.getInt(3));
                coleccion.add(objDescuento);
            }
            stmt.close();
            return coleccion;
        } catch (Exception e) {
            e.printStackTrace(); 
            return null;
        } finally {
            try {
                con.close();
            } catch (Exception e) {}
        }
     }
}
